package com.ruoyi.business.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户对象 hcx_app_user
 *
 * @author wsdz
 * @date 2022-08-17
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("hcx_app_user")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class HcxAppUser implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * 主键id
     */
    @TableId(value = "id")
    @ApiModelProperty("主键id")
    private Long id;

    /**
     * 用户账号（以后可能会扩展用到）
     */
    @Excel(name = "用户账号", readConverterExp = "以=后可能会扩展用到")
    @ApiModelProperty("用户账号（以后可能会扩展用到）")
    private String userName;

    /**
     * 用户昵称
     */
    @Excel(name = "用户昵称")
    @ApiModelProperty("用户昵称")
    private String nickName;

    /**
     * 手机号码
     */
    @Excel(name = "手机号码")
    @ApiModelProperty("手机号码")
    private String phonenumber;

    /**
     * 用户性别（1男 2女 0未知）
     */
    @Excel(name = "用户性别", readConverterExp = "1=男,2=女,0=未知")
    @ApiModelProperty("用户性别（1男 2女 0未知）")
    private String sex;

    /**
     * 头像地址
     */
    @Excel(name = "头像地址")
    @ApiModelProperty("头像地址")
    private String avatar;

    /**
     * 密码
     */
    @Excel(name = "密码")
    @ApiModelProperty("密码")
    private String password;

    /**
     * 支付密码
     */
    @Excel(name = "支付密码")
    @ApiModelProperty("支付密码")
    private String payPassword;

    /**
     * 帐号状态-0已注册待实名认证1提交实名认证2已实名认证通过3实名认证未通过4已冻结停用
     */
    @Excel(name = "帐号状态-0已注册待实名认证1提交实名认证2已实名认证通过3实名认证未通过4已冻结停用")
    @ApiModelProperty("帐号状态-0已注册待实名认证1提交实名认证2已实名认证通过3实名认证未通过4已冻结停用")
    private String status;

    @Excel(name = "用户审核意见")
    @ApiModelProperty("用户审核意见")
    private String operOpition;


    @Excel(name = "用户冻结意见")
    @ApiModelProperty("用户冻结意见")
    private String dongjieOpition;

    /**
     * 邀请码(6位随机数）
     */
    @Excel(name = "邀请码(6位随机数）")
    @ApiModelProperty("邀请码(6位随机数）")
    private String inviteCode;

    /**
     * 全部的父级邀请码
     */
    @Excel(name = "全部的父级邀请码")
    @ApiModelProperty("全部的父级邀请码")
    private String inviteFullCode;

    /**
     * 真实姓名
     */
    @Excel(name = "真实姓名")
    @ApiModelProperty("真实姓名")
    private String realName;

    /**
     * 身份证号
     */
    @Excel(name = "身份证号")
    @ApiModelProperty("身份证号")
    private String idcard;

    /**
     * 身份证-正面照片
     */
    @Excel(name = "身份证-正面照片")
    @ApiModelProperty("身份证-正面照片")
    private String idcardImgFront;

    /**
     * 身份证-背面照片
     */
    @Excel(name = "身份证-背面照片")
    @ApiModelProperty("身份证-背面照片")
    private String idcardImgBack;

    /**
     * 省名称
     */
    @Excel(name = "省名称")
    @ApiModelProperty("省名称")
    private String provinceName;

    /**
     * 省编码
     */
    @Excel(name = "省编码")
    @ApiModelProperty("省编码")
    private String provinceCode;

    /**
     * 市名称
     */
    @Excel(name = "市名称")
    @ApiModelProperty("市名称")
    private String cityName;

    /**
     * 城市编码
     */
    @Excel(name = "城市编码")
    @ApiModelProperty("城市编码")
    private String cityCode;

    /**
     * 区名称
     */
    @Excel(name = "区名称")
    @ApiModelProperty("区名称")
    private String districtsName;

    /**
     * 区编码
     */
    @Excel(name = "区编码")
    @ApiModelProperty("区编码")
    private String districtsCode;

    /**
     * 车牌号
     */
    @Excel(name = "车牌号")
    @ApiModelProperty("车牌号")
    private String carNum;

    /**
     * 详细地址
     */
    @Excel(name = "详细地址")
    @ApiModelProperty("详细地址")
    private String address;

    /**
     * 用户登录及时通信im的密码
     */
    @Excel(name = "用户登录及时通信im的密码")
    @ApiModelProperty("用户登录及时通信im的密码")
    private String userSig;

    /**
     * 腾讯im账号对应的userId
     */
    @Excel(name = "腾讯im账号对应的userId")
    @ApiModelProperty("腾讯im账号对应的userId")
    private String imId;

    /**
     * 微信唯一标识
     */
    @Excel(name = "微信唯一标识")
    @ApiModelProperty("微信唯一标识")
    private String openId;

    /**
     * 是否会员(0 否   1是)
     */
    @Excel(name = "是否会员(0 否   1是)")
    @ApiModelProperty("是否会员(0 否   1是)")
    private String vipFlag;

    /**
     * 是否商家(0 否   1是)
     */
    @ApiModelProperty("是否是商家(0 否   1是)")
    private String merchantFlag;

    /**
     * 余额
     */
    @ApiModelProperty("余额")
    private BigDecimal balancePrice;


    /**
     * 农产品奖
     */
    @ApiModelProperty("农产品奖")
    private BigDecimal framPrice;


    /**
     * 推广奖
     */
    @ApiModelProperty("推广奖")
    private BigDecimal sharePrice;


    /**
     * 门店收入
     */
    @ApiModelProperty("门店收入")
    private BigDecimal merchantPrice;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @Excel(name = "删除标志", readConverterExp = "0=代表存在,2=代表删除")
    @ApiModelProperty("删除标志（0代表存在 2代表删除）")
    private String delFlag;

    /**
     * 备注
     */
    @Excel(name = "备注")
    @ApiModelProperty("备注")
    private String remark;


    @ApiModelProperty("邀请时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;


    @ApiModelProperty("所有下线前两个人数")
    private Long twoNum;

    @ApiModelProperty("vip到期时间")
    private Date vipTime;


    @Excel(name = "苹果id")
    @ApiModelProperty("苹果id")
    private String appleId;

}
